home *** CD-ROM | disk | FTP | other *** search
-
- This is the Linux binary distribution of GNAT compiled as ELF
- binaries. If your system is not ELF (i.e. a.out), this is not for
- you. It was compiled with gcc 2.7.2, binutils 2.6.0.2, and
- libc-5.2.18. The gcc 2.7.2 binary is not included in this release
- (except for the GNAT specific part) but is required to use GNAT. You
- must get the gcc-2.7.2 binaries from somewhere like:
-
- sunsite.unc.edu in /pub/Linux/GCC
- tsx-11.mit.edu in /pub/linux/packages/GCC
-
- To install the binary release, you are given 3 optional installation
- procedures. I strongly suggest using the first option for Linux.
- The following steps will install GNAT:
-
- su
- ./doconfig # ------ select option 1
- ./doinstall
-
- Note that everything included was compiled from publically available
- packages. This means that anyone can recompile GNAT for themselves.
-
- This package was created on a system as close to vanilla Slackware 3.0
- as I could make it. I installed Slackware 3.0 downloaded from a
- mirror site on 2-12-96. I had to use the 1.3.20 kernel supplied with
- Slackware as 1.2.13 will not compile with gcc-2.7.2. I then installed
- the following packages from one of the above ftp sites/directories:
-
- gcc-2.7.2.bin.tar.gz
- binutils-2.6.0.2.bin.tar.gz
- libc-5.2.18.bin.tar.gz
-
- Once you install the new libc, you have to run /sbin/ldconfig and
- reboot.
-
- I then installed the fixed version of make found on
-
- sunsite.unc.edu in /pub/Linux/devel/make
-
- The file is called make-3.74-direntfix-elf.tgz
-
- There has been a long-standing bug in the dirent libc function that
- was still present in libc-5.0.9, but was fixed by libc-5.2.18.
- Without this version of make, you will get odd errors from make
- regarding no targets or something like that. If you suspect your make
- is faulty, try invoking it as "make -f Makefile" and see if it behaves
- differently.
-
- After the above steps, I recompiled my kernel to make sure all was in
- order. It was :-)
-
- For the present, this is the minimum system upgrade of Slackware 3.0
- required to use GNAT. When a new version of Slackware is available, I
- hope to eliminate the need to install any packages beyond those
- provided with the distribution.
-
- There are a few items that need to be mentioned:
-
- 1) The pthread library is 1.60.4. It is the version that has been
- incorporated into the libc library with the included
- libc-5.2.18.dif.gz compressed patch file applied. The pthread
- library is not included in the binary release of libc, but you
- can compile it from the sources (plus patch) if you want. I
- have included the pthread library in the GNAT binary archive.
- There is a more recent public release of libc, but GNAT will
- remain with 5.2.18 until there is a new Linux distribution
- based on the newer libc. This is mainly because the malloc
- is the newer libc is less forgiving and has uncovered bugs
- in software that works with 5.2.18.
-
- 2) The release includes the gcc front-end program "gcc". This is
- because important information required by gcc to recognize
- other languages has been removed from the base source code and
- is instead compiled in separately. This means that if you need
- support for languages other than C/C++/ObjC/Ada95 from gcc (like
- Fortran), you'll have to compile gcc with all the desired
- languages together.
-
- 3) These are the steps required to recompile GNAT:
-
- # first, untar the gcc-2.7.2 and gnat sources.
- # apply the gcc272.dif to gcc-2.7.2.
- # For building the RTS as an ELF shared library, apply the linux.dif
- # found with the binary release. A bug in PIC generation causes
- # problems with the package Interfaces.Cobol which required the
- # exclusion of it from this version of the shared library.
- # mv the gnat-x.xx-src/src/ada directory into the gcc-2.7.2 directory.
- # cd to the gcc-2.7.2 directory.
- ./configure --target=i486-linux --with-gnu-as --with-gnu-ld --prefix=/usr
- make CFLAGS="-O3 -fomit-frame-pointer"
- make CFLAGS="-O3 -fomit-frame-pointer" gnatboot
- make CFLAGS="-O3 -fomit-frame-pointer" gnattools
- make CFLAGS="-g -fPIC -D_MIT_POSIX_THREADS" gnatlib
- su
- make install
-
- 4) This release includes a shared library version of the RTS.
-
- Note: The ELF version of GNAT for Linux on the x86 platform is fully
- supported by Ada Core Technologies (ACT). Anyone interested in
- purchasing support for this product should contact ACT at
- support@gnat.com for more details.
-
- Enjoy,
-
- Sean McNeil
- (Report all bugs/omissions/problems to report@gnat.com)
-